function [pre_dg,pre_sig,pre_do,pre_sio]=predict_tar_po(pre_po,xo_pre,yo_pre,xd,yd)  
    si_tar=dot([xd,yd],[1,0])/(norm([xd,yd])*1);
    si_tar=acos(si_tar);
    if(yd<0)
        si_tar=-si_tar;
    end
    Ldg=[xd,yd]-[pre_po(1),pre_po(2)];
    pre_dg=norm(Ldg);%预测dg
    if(pre_dg>10)
        pre_dg=10;
    end
    car_direction=[cos(pre_po(3)),sin(pre_po(3))];
    sigcos=dot(Ldg,car_direction)/(pre_dg*1);
    sig=acos(sigcos);
    if(pre_po(3)<si_tar)
        pre_sig=sig;
    else
        pre_sig=-sig;
    end
    if(pre_sig>pi/2)
        pre_sig=pi/2;
    elseif(pre_sig<-pi/2)
        pre_sig=-pi/2;
    end
    %预测sig
    Ldo=[xo_pre,yo_pre]-[pre_po(1),pre_po(2)];
    pre_do=norm(Ldo);%预测do
    if(pre_do<4)
        si_cos=dot([xo_pre,yo_pre],[1,0])/(pre_do*1);
        si_c=acos(si_cos);
        if(Ldo(2)<0)
            si_c=-si_c;
        end
        siocos=dot(Ldo,car_direction)/(pre_do*1);
        if(pre_po(3)<si_c)
            pre_sio=acos(siocos);
        else
            pre_sio=-acos(siocos);
        end
        if(pre_sio>pi/2)
            pre_sio=pi/2;
        elseif(pre_sio<-pi/2)
            pre_sio=-pi/2;
        end
    else
        pre_do=4;
        pre_sio=0;
    end
end